﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Configuration;


namespace ivvExportacao
{
    public class incorporadora
    {
        public string transfeririIncorporadoras()
        {
            try
            {
                //ACESSO AS DUAS BASE DE DADOS, FORAM ABERTAS TRÊS CONEXÕES DIFERENTES PORQUE SERÃO UTILIZADAS EM 
                //TRÊS TAREFAS DOIS SELECT's E UM INSERT.
                SqlConnection conexaoAntiga = new SqlConnection(ConfigurationManager.AppSettings["baseDadosAntiga"]);
                conexaoAntiga.Open();
                SqlConnection conexaoNovaSelect = new SqlConnection(ConfigurationManager.AppSettings["baseDadosNova"]);
                conexaoNovaSelect.Open();
                SqlConnection conexaoNovaInsert = new SqlConnection(ConfigurationManager.AppSettings["baseDadosNova"]);
                conexaoNovaInsert.Open();

                //SELECT NA TABELA DO BANCO DE DADOS ANTIGO PARA COMEÇAR A TRANSFERÊNCIA
                string selectAntiga = "select * from empresa";

                SqlCommand cmdAntiga = new SqlCommand(selectAntiga, conexaoAntiga);
                SqlDataReader drAntiga = cmdAntiga.ExecuteReader();

                if (drAntiga.HasRows)
                {
                    while (drAntiga.Read())
                    {
                        //SELECT NA TABELA DO BANCO DE DADOS ATUAL PARA VERIFICAR SE O MESMO ENCONTRA-SE CADASTRADO,
                        //CASO JÁ ESTEJA CADASTRADO SERÁ DESCONSIDERADA A TRANSFERÊNCIA
                        string selectNova = "select * from Incorporadora where UPPER(razaoSocialIncorporadora) = '" + drAntiga["razao"].ToString().ToUpper() + "'";

                        SqlCommand cmdNova = new SqlCommand(selectNova, conexaoNovaSelect);
                        SqlDataReader drNova = cmdNova.ExecuteReader();

                        if (!drNova.HasRows)
                        {
                            //ESTA SESSÃO APENAS É ACESSADA CASO O DADO AINDA NÃO TENHA CIDO TRANSFERIDO PARA A NOVA TABELA
                            string insertNova = "INSERT INTO incorporadora ";
                            insertNova += "(razaoSocialIncorporadora , nomeContato1Incorporadora , ";
                            insertNova += "nomeContato2Incorporadora , nomeContato3Incorporadora , ";
                            insertNova += "telefoneContato1Incorporadora) ";
                            insertNova += "VALUES ('" + drAntiga["razao"].ToString() + "', '" + drAntiga["contato"].ToString() + "' , ";
                            insertNova += "'" + drAntiga["diretor1"].ToString() + "' , '" + drAntiga["diretor2"].ToString() + "' , ";
                            insertNova += "'" + drAntiga["fone"].ToString() + "')";

                            SqlCommand cmdInsertNova = new SqlCommand(insertNova, conexaoNovaInsert);
                            cmdInsertNova.ExecuteNonQuery();
                        }
                        drNova.Close();
                    }
                }

                drAntiga.Close();

                conexaoAntiga.Close();
                conexaoNovaSelect.Close();
                conexaoNovaInsert.Close();

                return "<span style=\"color:Green\">Registro das incorporadoras transferidos com sucesso.</span>";
            }
            catch
            {
                return "<span style=\"color:Red\">Falha ao transferir os dados das incorporadoras.</span>";
            }
        }
    }
}
